package com.eastfair.home.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.builder.dto.ReportSpaceDTO;
import com.eastfair.home.entity.ReportEarnestMoneyAudit;

import java.time.LocalDateTime;
import java.util.List;

import com.eastfair.home.entity.ReportSpaceAudit;
import com.eastfair.home.vo.*;
import com.eastfair.home.dto.*;

/**
 * <p>
 * 业务接口
 * 报馆保证金审核记录
 * </p>
 *
 * @author linan
 * @date 2023-04-17
 */
public interface ReportEarnestMoneyAuditService extends SuperService<ReportEarnestMoneyAudit> {

    /**
     * 通过
     * @param reportEarnestMoneyAuditDTO
     * @return
     */
    ReportEarnestMoneyAuditVO queryReportEarnestMoneyAudit(ReportEarnestMoneyAuditDTO reportEarnestMoneyAuditDTO);

    /**
     * 报馆ID查询保证金审核记录.
     *
     * @param reportSpaceId the report space id
     * @return the by report space id
     */
    ReportEarnestMoneyAudit getByReportSpaceId(Long reportSpaceId);

    /**
     * 保存报馆保证金审核记录.
     *
     * @param reportEarnestMoneyAuditDTO the report earnest money audit dto
     * @return the boolean
     */
    boolean saveReportEarnestMoneyAudit(ReportEarnestMoneyAuditDTO reportEarnestMoneyAuditDTO);

    /**
     * 提交报馆保证金审核记录.
     *
     * @param reportSpaceAuditDTO the report space audit dto
     * @param reportSpaceAudit    the report space audit
     * @return the boolean
     */
    boolean submitReportEarnestMoneyAudit(ReportSpaceAuditDTO reportSpaceAuditDTO, ReportSpaceAudit reportSpaceAudit);

    /**
     * 更新保证金审核审核结果.
     *
     * @param reportSpaceAuditDTO the report space audit dto
     * @return the boolean
     */
    ReportEarnestMoneyAudit updateEarnestMoneyAuditStatus(ReportSpaceAuditDTO reportSpaceAuditDTO);

    /**
     * 报馆ID删除保证金审核记录.
     *
     * @param reportSpaceId the report space id
     * @return the boolean
     */
    boolean removeByReportSpaceId(Long reportSpaceId);
}
